package net.pulseproject.router.modules.logic.beatstabilizer;

public class BeatStabilizerConfig {
	
	private final long globalMinMs;
	private final int globalMaxMs;
	private final int historyTimeToLiveMs;
	private final double frameDeviationPercent;
	
	public BeatStabilizerConfig(long globalMinMs, int globalMaxMs, double frameDeviationPercent) {
		this(globalMinMs, globalMaxMs, frameDeviationPercent, globalMaxMs * 3);
	}
	
	public BeatStabilizerConfig(long globalMinMs, int globalMaxMs, double frameDeviationPercent, int historyTimeToLiveMs) {
		this.globalMinMs = globalMinMs;
		this.globalMaxMs = globalMaxMs;
		this.historyTimeToLiveMs = historyTimeToLiveMs;
		this.frameDeviationPercent = frameDeviationPercent;
	}

	public final long getGlobalMinMs() {
		return this.globalMinMs;
	}

	public final int getGlobalMaxMs() {
		return this.globalMaxMs;
	}

	public final double getFrameDeviationPercent() {
		return this.frameDeviationPercent;
	}

	public long getHistoryTimeToLiveMs() {
		return this.historyTimeToLiveMs;
	}
	
}
